package com.ny.zmb.openapi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ny.zmb.openapi.controller.entity.Result;
import com.ny.zmb.openapi.entity.PmOrderSplitAccountLog;
import com.ny.zmb.openapi.ysutil.from.BizReqJsonCollege.BizReqJsonSeparateAccounts;

/**
 * 分账订单记录
 *
 * @author ChenZhiZheng
 * @date 20241107
 */
public interface PmOrderSplitAccountLogService extends IService<PmOrderSplitAccountLog> {
    PmOrderSplitAccountLog getByOrigRequestNo(String origRequestNo);

    PmOrderSplitAccountLog getByRequestNo(String requestNo);

    /**
     * 分账总API
     *
     * @param obj
     * @param srcMerchantNo
     * @param methodStr
     * @return
     */
    Result SeparateAccounts(BizReqJsonSeparateAccounts obj, String srcMerchantNo, String methodStr);
    /**
     * 分账登记
     *
     * @param obj           对象
     * @param srcMerchantNo 商户号
     * @return
     */
    Result divisionRegister(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

    /**
     * 分账登记查询
     *
     * @param obj           对象
     * @param srcMerchantNo 商户号
     * @return
     */
    Result divisionQuery(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

    /**
     * 分账资金回退
     *
     * @param obj
     * @param srcMerchantNo
     * @return
     */
    Result divisionBack(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

    /**
     * 分账资金回退授权
     *
     * @param obj
     * @param srcMerchantNo
     * @return
     */
    Result divisionBackAuth(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

    /**
     * 终端分账登记
     *
     * @param obj
     * @param srcMerchantNo
     * @return
     */
    Result terminalDivisionRegister(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

    /**
     * 终端分账结果查询
     *
     * @param obj
     * @param srcMerchantNo
     * @return
     */
    Result terminalDivisionQuery(BizReqJsonSeparateAccounts obj, String srcMerchantNo);

}
